2 Inductively Speeding Up Logic Programs
نویسندگان
چکیده
This paper presents a speed-up learning method for logic programs, which accelerates a program by composing macro clauses based on partial structures of proof trees. Many systems have been proposed for composing useful macros, e.g., some of them select macros that connects two peaks in a heuristic function. Another employs heuristics that select useful macros. Although they work well in some domains, such methods depend on domain-dependent heuristics that have to be exploited by their users. We propose a heuristic-independent mechanism by detecting backtrack-ing. The method uses a dead-end path as a negative explanation tree, compares it with positive one, and nds a rst dierent node to remove its corresponding rule by composing a macro. Repeated substructures in such a macro are then combined by applying the generalize-number technique and by sharing common substructures. Experimental results in STRIPS domain show that, by selecting an appropriate set of macros, 1) backtracking in solving training examples are suppressed, 2) its problem solving eciency does not deteriorate even after learning a number of examples, 3) after learning 30 training examples, no backtracking occurs in solving 100 test examples dierent from the training examples. In conclusion, the proposed method speeds up the problem solving from 10 to 100 times.
منابع مشابه
Speeding - up Logic Programs by Combining EBG and FOIL
This paper presents an algorithm that combines traditional EBL techniques and recent developments in inductive logic programming to learn e ective clause selection rules for Prolog programs. When these control rules are incorporated into the original program, signi cant speed-up may be achieved. The algorithm produces not only EBL-like speed up of problem solvers, but is capable of automaticall...
متن کاملExploiting And-parallelism and Combined And/or- Parallelism in Logic Programs: a Survey
[ABSTRACT] Logic programs provide many opportunities for parallel execution. Among different forms of parallelism found in logic programs, AND-parallelism and OR-parallelism have shown to be most effective in speeding up the execution of logic programs. Research in the exploitation of AND-parallelism, OR-parallelism alone and combined AND/OR-parallelism has led to the proposals and implementati...
متن کاملComputing the Well-Founded Semantics Faster
We address methods of speeding up the calculation of the well-founded semantics for normal propositional logic programs. We first consider two algorithms already reported in the literature and show that these, plus a variation upon them, have much improved worst-case behavior for special cases of input. Then we propose a general algorithm to speed up the calculation for logic programs with at m...
متن کاملThe Divide - and - Conquer Subgoal - Ordering Algorithmfor Speeding up Logic
It is common to view programs as a combination of logic and control: the logic part deenes what the program must do, the control part { how to do it. The Logic Programming paradigm was developed with the intention of separating the logic from the control. Recently, extensive research has been conducted on automatic generation of control for logic programs. Only a few of these works considered t...
متن کاملThe Divide-and-Conquer Subgoal-Ordering Algorithm for Speeding up Logic Inference
It is common to view programs as a combination of logic and control: the logic part de nes what the program must do, the control part { how to do it. The Logic Programming paradigm was developed with the intention of separating the logic from the control. Recently, extensive research has been conducted on automatic generation of control for logic programs. Only a few of these works considered t...
متن کامل